<template>
	<div>
		<table border="1">
			<tr v-for="(item, index) in method" :key="index">
				<th>{{ item.a }}</th>
				<th>{{ item.b }}</th>
				<th>{{ item.c }}</th>
				<th>{{ item.d }}</th>
				<th>{{ item.e }}</th>
			</tr>
			<tr v-for="(item, index) in list" :key="index">
				<td>{{ item.lb }}</td>
				<td>{{ item.way }}</td>
				<td>{{ item.fn }}</td>
				<td>{{ item.Obj }}</td>
				<td>{{ item.isRe }}</td>
			</tr>
		</table>
	</div>
</template>

<script>
export default {
	data() {
		return {
			method: [{ a: '类别', b: '方法', c: '功能', d: '参数', e: '返回值' }],
			list: [
				{
					lb: '对象',
					way: 'Object.is()',
					fn: '比较两个值是否严格相等',
					Obj: '对象',
					isRe: '一个 Boolean 类型标示两个参数是否是同一个值。',
				},
				{
					lb: '对象',
					way: 'Object.assign()',
					fn: '用于对象合并',
					Obj: '对象',
					isRe: '目标对象。',
				},
				{
					lb: '对象',
					way: 'Object.create()',
					fn: '返回一个对象的__proto__指向',
					Obj: '对象',
					isRe: '一个新对象，带着指定的原型对象和属性。',
				},
				{
					lb: '对象',
					way: 'Object.defineProperties()',
					fn: '直接在一个对象上定义新的属性或修改现有属性',
					Obj: '对象',
					isRe: '传递给函数的对象。',
				},
				{
					lb: '对象',
					way: 'Object.defineProperty()',
					fn: '接在一个对象上定义一个新属性，或者修改一个对象的现有属性',
					Obj: '对象',
					isRe: '被传递给函数的对象。',
				},
				{
					lb: '对象',
					way: 'Object.entries()',
					fn: '返回一个给定对象自身可枚举属性的键值对数组',
					Obj: '对象',
					isRe: '给定对象自身可枚举属性的键值对数组。',
				},
				{
					lb: '对象',
					way: 'Object.freeze()',
					fn: '可以冻结一个对象',
					Obj: '对象',
					isRe: '被冻结的对象。',
				},
				{
					lb: '对象',
					way: 'Object.fromEntries()',
					fn: '把键值对列表转换为一个对象。',
					Obj: '对象',
					isRe: '一个由该迭代对象条目提供对应属性的新对象。',
				},
				{
					lb: '对象',
					way: 'Object.getOwnPropertyDescriptor()',
					fn: '返回指定对象上一个自有属性对应的属性描述符。',
					Obj: '对象',
					isRe:
						'如果指定的属性存在于对象上，则返回其属性描述符对象（property descriptor），否则返回 undefined。',
				},
				{
					lb: '对象',
					way: 'Object.getOwnPropertyDescriptors()',
					fn: '返回指定对象上一个自有属性对应的属性描述符。',
					Obj: '对象',
					isRe:
						'所指定对象的所有自身属性的描述符，如果没有任何自身属性，则返回空对象。',
				},
				{
					lb: '对象',
					way: 'Object.getOwnPropertyNames()',
					fn:
						'返返回一个由指定对象的所有自身属性的属性名（包括不可枚举属性但不包括Symbol值作为名称的属性）组成的数组',
					Obj: '对象',
					isRe: '在给定对象上找到的自身属性对应的字符串数组。',
				},
				{
					lb: '对象',
					way: 'Object.getOwnPropertySymbols()',
					fn: '返回一个给定对象自身可枚举属性的键值对数组',
					Obj: '对象',
					isRe: '在给定对象自身上找到的所有 Symbol 属性的数组。',
				},
				{
					lb: '对象',
					way: 'Object.getPrototypeOf()',
					fn: '返回指定对象的原型（内部[[Prototype]]属性的值）',
					Obj: '对象',
					isRe: '给定对象的原型。如果没有继承属性，则返回 null 。',
				},
				{
					lb: '对象',
					way: 'Object.prototype.hasOwnProperty()',
					fn:
						'返回一个布尔值，指示对象自身属性中是否具有指定的属性（也就是，是否有指定的键）',
					Obj: '要检测的属性的 String 字符串形式表示的名称，或者 Symbol。',
					isRe: '用来判断某个对象是否含有指定的属性的布尔值 Boolean。',
				},
				{
					lb: '对象',
					way: 'Object.isExtensible()',
					fn: '判断一个对象是否是可扩展的（是否可以在它上面添加新的属性）。',
					Obj: '对象',
					isRe: ' 表示给定对象是否可扩展的一个Boolean 。',
				},
				{
					lb: '对象',
					way: 'Object.isFrozen()',
					fn: '判断一个对象是否被冻结。',
					Obj: '对象',
					isRe: '表示给定对象是否被冻结的Boolean。',
				},
				{
					lb: '对象',
					way: 'Object.prototype.isPrototypeOf()',
					fn: '用于测试一个对象是否存在于另一个对象的原型链上。',
					Obj: '在该对象的原型链上搜寻',
					isRe: 'Boolean，表示调用对象是否在另一个对象的原型链上。',
				},
				{
					lb: '对象',
					way: 'Object.isSealed()',
					fn: '判断一个对象是否被密封。',
					Obj: '对象',
					isRe: '表示给定对象是否被密封的一个Boolean 。',
				},
				{
					lb: '对象',
					way: 'Object.keys()',
					fn:
						'返回一个由一个给定对象的自身可枚举属性组成的数组，数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致 。',
					Obj: '对象',
					isRe: '一个表示给定对象的所有可枚举属性的字符串数组。',
				},
				{
					lb: '对象',
					way: 'Object.preventExtensions()',
					fn: '让一个对象变的不可扩展，也就是永远不能再添加新的属性。',
					Obj: '对象',
					isRe: '已经不可扩展的对象。',
				},
				{
					lb: '对象',
					way: 'Object.prototype.propertyIsEnumerable()',
					fn: '返回一个布尔值，表示指定的属性是否可枚举。',
					Obj: '需要测试的属性名。',
					isRe: '用来表示指定的属性名是否可枚举的布尔值。',
				},
				{
					lb: '对象',
					way: 'Object.seal()',
					fn:
						'封闭一个对象，阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要原来是可写的就可以改变。',
					Obj: '对象',
					isRe: '被密封的对象。',
				},
				{
					lb: '对象',
					way: 'Object.setPrototypeOf()',
					fn:
						'设置一个指定的对象的原型 ( 即, 内部[[Prototype]]属性）到另一个对象或  null。',
					Obj: '对象',
					isRe: '有',
				},
				{
					lb: '对象',
					way: 'Object.prototype.toLocaleString()',
					fn:
						'返回一个该对象的字符串表示。此方法被用于派生对象为了特定语言环境的目的（locale-specific purposes）而重载使用。',
					Obj: '对象',
					isRe: '表示对象的字符串。',
				},
			],
		}
	},
}
</script>

<style scoped>
table {
	width: 1200px;
	margin: 0 auto;
	border-collapse: collapse;
}
table > tr {
	text-align: center;
}
table > tr > td:first-child {
	width: 240px;
}
table > tr > th {
	background: yellow;
	height: 40px;
}
</style>